package com.example.flowermall.entity.wx;

import lombok.Data;

import java.io.Serializable;

/**
 * 微信退款预下单-主体信息
 * @author shuaifengjie.com
 * v3
 */
@Data
public class WxpayRefundVo implements Serializable {

	/**
	 *
	 */
	private static final long serialVersionUID = 8189139771687842957L;
	// 原支付交易对应的微信订单号
	// 示例值：1217752501201407033233368018
	private String transaction_id;
	// 若商户传入，会在下发给用户的退款消息中体现退款原因
	// 示例值：商品已售完
	private String reason;
	// 商户系统内部的退款单号，商户系统内部唯一，只能是数字、大小写字母_-|*@ ，同一退款单号多次请求只退一笔。
	// 示例值：1217752501201407033233368018
	private String out_refund_no;
	// 异步接收微信支付退款结果通知的回调地址，通知url必须为外网可访问的url，不能携带参数。 如果参数中传了notify_url，则商户平台上配置的回调地址将不会生效，优先回调当前传的这个地址。
	// 示例值：https://weixin.qq.com
	private String notify_url;
	// 订单金额信息
	private WxRefundAmountVo amount;

	public WxpayRefundVo() {
		super();
	}

	@Data
	public static class WxRefundAmountVo {
		// 退款金额，币种的最小单位，只能为整数，不能超过原订单支付金额。
		// 示例值：888
		private long refund;
		// 原支付交易的订单总金额，币种的最小单位，只能为整数。
		// 示例值：888
		private long total;
		// CNY：人民币，境内商户号仅支持人民币。
		// 示例值：CNY
		private String currency = "CNY";
		public WxRefundAmountVo() {
			super();
		}
		public WxRefundAmountVo(long refund, long total) {
			super();
			this.refund = refund;
			this.total = total;
		}
	}
}
